package cn.sdormitory.smartdor.service;

import cn.sdormitory.common.api.CommonResult;
import cn.sdormitory.smartdor.dto.SdRentExportDTO;
import cn.sdormitory.smartdor.dto.SdRentImportDTO;
import cn.sdormitory.smartdor.entity.SdRent;
import cn.sdormitory.smartdor.vo.req.SdRentFormVo;
import cn.sdormitory.smartdor.vo.req.SdRentQueryParam;
import cn.sdormitory.smartdor.vo.resp.SdRentVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 住宿费用管理服务
 */
public interface SdRentService extends IService<SdRent> {

    /**
     * 同步学生数据表信息
     * @return
     */
    CommonResult syncStudentData();

    /**
     * 住宿费缴纳/续费
     * @param vo
     * @return
     * @throws Exception
     */
    CommonResult renew(SdRentFormVo vo) throws Exception;


    /**
     * 分页查询学生住宿费用列表
     * @param queryParam 查询参数
     * @return 学生住宿费列表
     */
    IPage<SdRentVO> findSdRentPageList(SdRentQueryParam queryParam);


    /**
     * 导入住宿费用信息
     * @param sdRentDTOList
     * @return
     */
    List<String> importSdSentData(List<SdRentImportDTO> sdRentDTOList);

    /**
     * 查询住宿费导出列表
     * @param queryParam
     * @return
     */
    List<SdRentExportDTO> findSdRentExportList(SdRentQueryParam queryParam);

}
